/*
**	PreScript:
**
**	Don't remove this comment or type anything before it.
*/

//	The following variables are for internal use:

		DEPTH			=		120

		iLevelNumber	=	0
		iLevelField		=	(iLevelNumber + 15) % 16 + 1 min 1 max 16
		iLevelColor		=	( (iLevelNumber+15) / 16) min 1 max 6 
		iLevelBonus		=	0
		iLevelStartBonus =	1000 * iLevelNumber
		iLevelNext		=	iLevelNumber + 1

		iPlayerMaxMove		=	12
		iPlayerSuperZaps	=	1

		iShotSpeed		=		4
		iShotPower		=		3
		iShotColor[0]	=		1
		iShotColor[1]	=		0
		iShotColor[2]	=		6
		iShotColor[3]	=		4
		iShotColor[4]	=		5

		iFlipperPoints	=		150
		iFlipperCount	=		3
		iFlipperProb	=		700
		iFlipperSpeed	=		65536
		iFlipperRot		=		4
		iFlipperColor	=		2

		iTank[0].points	=		100
		iTank[0].count	=		0
		iTank[0].prob	=		600
		iTank[0].speed	=		65536
		iTank[0].color	=		4

		iTank[1].points	=		100
		iTank[1].count	=		0
		iTank[1].prob	=		600
		iTank[1].speed	=		65536
		iTank[1].color	=		5

		iTank[2].points	=		100
		iTank[2].count	=		0
		iTank[2].prob	=		600
		iTank[2].speed	=		65536
		iTank[2].color	=		5

		iFusePoints		=		500
		iFuseBullseye	=		750
		iFuseCount		=		0
		iFuseProb		=		600
		iFuseWarpP		=		2
		iFusePlayerPlus	=		40
		iFuseColor[0]	=		0
		iFuseColor[1]	=		5
		iFuseColor[2]	=		1
		iFuseColor[3]	=		4
		iFuseColor[4]	=		2

		iPulsarPoints	=		200
		iPulsarCount	=		0
		iPulsarProb		=		600
		iPulsarSpeed	=		32768
		iPulsarRot		=		5
		iPulsarColor	=		5
		iPulsarTime		=		20
		iPulsarPulsDepth=		DEPTH-DEPTH/5

		iSpikerPoints	=		50
		iSpikerProb		=		100
		iSpikerSpeed	=		65536
		iSpikerStart	=		DEPTH
		iSpikerTop		=		10
		iSpikerPlasma	=		1
		iSpikerPlSpeed	=		5*65536
		iSpikerPlPoints	=		200
		iSpikerSpikePoints=		1
		iSpikerColor[0]	=		3
		iSpikerColor[1]	=		0
		iSpikerColor[2]	=		5

		iBoredomCount	=		4
		iBoredProb		=		2000
		iEndTimer		=		60
		iAllowPracticeRestart	=		1
		iAllowArcadeRestart		=		1
		iShowSpikesMsg	=	0
		iDoomsday = 0

		
// These are the variables you are supposed to access:

	Level			=	iLevelNumber
	SubLevel		=	(Level+15) % 16
	ColorLevel		=	(Level-1) / 16	min 0

	//	Flippers:
	iFlipperProb	=	FlipperProb * 1000 min 0
	iFlipperCount	=	FlipperCount min 0
	iFlipperRot		=	FlipperRot min 0 max 100
	iFlipperSpeed	=	FlipperSpeed * 65536 min 1000

	iTank[0].prob	=	FlipTankProb * 1000 min 0
	iTank[0].count	=	FlipTankCount min 0
	iTank[0].speed	=	FlipTankSpeed * 65536 min 1000

	//	Spikers:
	iSpikerStart	=	SpikeStart min (DEPTH * 0.05) max DEPTH
	iSpikerTop		=	SpikeTop min (DEPTH * 0.05) max DEPTH
	iSpikerProb		=	(iSpikerTop < DEPTH) * SpikerProb * 100 min 0 max 200
	iSpikerSpeed	=	SpikerSpeed * 65536 min 10000

	//	Fuseballs
	iFuseCount		=	FuseCount
	iFuseProb		=	FuseProb * 1000 min 0
	iFuseWarpP		=	FuseWarpP * 10 min 0
	iFusePlayerPlus	=	FusePlayerPlus * 100 min 0

	iTank[1].prob	=	FuseTankProb * 1000 min 0
	iTank[1].count	=	FuseTankCount min 0
	iTank[1].speed	=	FuseTankSpeed * 65536 min 1000

	//	Pulsars
	iPulsarCount	=	PulsarCount
	iPulsarProb		=	PulsarProb * 1000 min 0
	iPulsarSpeed	=	PulsarSpeed * 65536 min 1000
	iPulsarRot		=	PulsarRot min 0 max 100
	iPulsarTime		=	PulsarTime

	iTank[2].prob	=	PulsarTankProb * 1000 min 0
	iTank[2].count	=	PulsarTankCount min 0
	iTank[2].speed	=	PulsarTankSpeed * 65536 min 1000

	//	Game difficulty:
	iBoredomCount	=	BoredomCount
	iBoredProb		=	BoredProb * 2000 min 0
	iEndTimer		=	EndTimer * 60 min 1
	iAllowPracticeRestart	=	AllowPracticeRestart - (Level > 95)
	iAllowArcadeRestart	=	AllowArcadeRestart - (Level > 95)
	iShowSpikesMsg	=	(Level > 3) - (Level > 8)
	iDoomsday = (Level > 96)

//	End of prescript.


/*
	Copyright:
	
		Arashi 1.1
		Copyright 1993, Project STORM Team

		This file is freely distributable,
		but the parser and compiler for
		it may only be used along with the
		Arashi game. For permission to use
		the compiler or parts of it for other
		things, please request permission from

						Juri Munkki
			internet:	jmunkki@hut.fi
			applelink:	sf0010
*/

FileScript=1	//	Reading from a file. (In case you are interested.)

level 1		//	Starting from level 1, use the following rules:

	AllowPracticeRestart	=	Level % 2
	AllowArcadeRestart	=	Level % 2

	FlipperProb		=	1 + SubLevel / 15
	FlipperCount	=	4 + SubLevel / 3 + Level / 8 - PulsarCount / 3 max 16
	FlipperRot		=	(4 + Level/1.5) ^ 0.7 max 12
	FlipperSpeed	= 	(1.0 + Level / 12) ^ 0.5

	SpikerProb		=	(0.5 + SubLevel / 32) * (SubLevel > 1)
	SpikeStart		=	DEPTH - ((SubLevel - 2) * DEPTH / 15 min 0)
	SpikeTop		=	DEPTH * 0.1
	SpikerSpeed		=	1 + Level / 40 max 2.5
	
	EndTimer		=	3.2 / Level max 1.5
	BoredomCount	=	2 + Level / 10 max 7
	BoredProb		=	1.0 + Level / 32

	FlipTankCount	=	(SubLevel - 1) ^ 0.7 - FuseTankCount / 2
	FlipTankSpeed	=	(1.0 + Level / 12) ^ 0.4
	FlipTankProb	=	0.3 + SubLevel / 20

level 11
	FuseCount		=	2
	FuseProb		=	0.5 + SubLevel / 15
	FuseWarpP		=	Level / 100 max 0.5
	FusePlayerPlus	=	Level / 40 max 0.9

level 17
	FuseCount		=	0
	
	PulsarProb		=	0.7 + SubLevel / 20
	PulsarCount		=	4 + SubLevel / 5 + Level / 10 max 12
	PulsarRot		=	(4 + Level/2) ^ 0.6 max 11
	PulsarSpeed		=	(Level / 20) ^ 0.5
	PulsarTime		=	20 - Level / 20 min 5

level 19
	FuseCount		=	(Level / 3) ^ 0.7 max 6
	AllowArcadeRestart	=	(Level % 2) < 1

level 30
	AllowArcadeRestart	=	(Level % 2)

level 33

	FuseTankCount	=	SubLevel ^ 0.3 + 2 - PulsarTankCount / 2
	FuseTankSpeed	=	(1.0 + Level / 12) ^ 0.4
	FuseTankProb	=	0.3 + SubLevel / 20

level 35
	AllowArcadeRestart	=	(Level % 4) < 1

level 40
	
	PulsarTankCount	=	SubLevel ^ 0.3 + 2
	PulsarTankSpeed	=	(1.0 + Level / 12) ^ 0.4
	PulsarTankProb	=	0.3 + SubLevel / 20

level 47
	AllowArcadeRestart	=	(Level % 2)

level 51
	AllowArcadeRestart	=	(Level % 4) < 1
	
level 63
	AllowArcadeRestart	=	(Level % 2)


level 32000	//	We should never need to go past this point
